// 引入 axios 
import axios from 'axios'
import Element from 'element-ui'
import router from './router';
import store from './store'

// 设置访问路径 前缀
axios.defaults.baseURL = "http://127.0.0.1:8081";

// 自定义 axios 请求、响应拦截器
// 请求拦截
axios.interceptors.request.use(config => {
    return config;
});
// 响应拦截
axios.interceptors.response.use(response => {
    let res = response.data;
    // 根据 后台响应 处理
    if (res.code == 200) {
        return response;
    } else {
        // 错误信息
        let msg = res.msg;
        Element.Message({
            message: msg,
            type: 'error',
            duration: 2 * 1000
        });
        if (res.code == 401) {
            // 删除本地储存的 token, userInfo信息
            store.commit('REMOVE_INFO');
            // 调换到 登陆页面
            router.push('/login');
        }
        // 结束当前请求
        return Promise.reject(response.data.msg);
    }
},
    error => {
        // 处理请求报错响应
        console.log(error.response);
        if (error.response.data) {
            error.message = error.response.data.msg;
        }
        // 根据请求状态觉得是否登录或者提示其他
        if (error.response.status == 401) {
            // 删除本地储存的 token, userInfo信息
            store.commit('REMOVE_INFO');
            // 调换到 登陆页面
            router.push('/login');
            error.message = '请重新登陆';
        }
        if (error.response.status == 403) {
            error.message = '暂无此权限，无法访问';
        }
        Element.Message({
            // showClose: true,
            message: error.message,
            type: 'error',
            duration: 2 * 1000
        });
        return Promise.reject(error);
    }
)







